﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
using Suspiros_ObjetosNegocio;

namespace Suspiros_Persistencia
{
    public class OrdenDAO
    {
        Conexion conn = new Conexion();

        //Agrega un nuevo usuario y devuelve su id;
        public int agregarOrden(Orden orden)
        {
            SqlConnection miConn = conn.getConexion();
            SqlCommand cmdSP = new SqlCommand("sp_agregarOrden", miConn);
            cmdSP.CommandType = CommandType.StoredProcedure;
            //valores
            cmdSP.Parameters.AddWithValue("@fechaCompra", orden.FechaCompra.Date);
            cmdSP.Parameters.AddWithValue("@fechaPago", orden.FechaPago.Date);
            cmdSP.Parameters.AddWithValue("@pago", orden.Pago);
            //Resultados
            int iddireccion = (int)cmdSP.ExecuteScalar();
            miConn.Close();
            return iddireccion;
        }
        
        public void actualizarOrden(Orden orden)
        {
            //SqlDataAdapter miDA = new SqlDataAdapter();
            //DataSet miDataSet = new DataSet();
            SqlConnection miConn = conn.getConexion();
            SqlCommand cmdSP = new SqlCommand("sp_actualizarOrden", miConn);
            cmdSP.CommandType = CommandType.StoredProcedure;
            //valores
            cmdSP.Parameters.AddWithValue("@id", orden.Id);
            cmdSP.Parameters.AddWithValue("@fechaCompra", orden.FechaCompra.Date);
            cmdSP.Parameters.AddWithValue("@fechaPago", orden.FechaPago.Date);
            cmdSP.Parameters.AddWithValue("@pago", orden.Pago);
            cmdSP.Parameters.AddWithValue("@status", orden.StatusOrden);
            //Resultados
            cmdSP.ExecuteNonQuery();
            miConn.Close();
        }

        public DataSet obtenerOrdenes(string campo)
        {
            string consulta = "select * from ordenes order by " + campo + " Asc";
            SqlDataAdapter miDA;
            DataSet miDataSet = new DataSet();
            miDA = new SqlDataAdapter();
            miDA.SelectCommand = new SqlCommand(consulta, conn.getConexion());
            miDA.SelectCommand.CommandType = CommandType.Text;
            miDA.Fill(miDataSet, "Orden");
            return miDataSet;
        }
    }
}
